package cn.yunhe.dao;

import cn.yunhe.entity.Exam;
import com.github.pagehelper.Page;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Repository
public interface
ExamDao {

    /**
     * 获取所有考试
     * @param exam
     * @return
     */
    List<Exam> getAllExam(Exam exam);

    /**
     * 获取考试数量
     * @param exam
     * @return
     */
    int getExamCount(Exam exam);

    /**
     * 审核某个考试
     * @return
     */
    int updExamAudit(Exam exam);

    /**
     * 根据id获取考试信息
     * @param id
     * @return
     */
    Exam getExamById(int id);

    /**
     * 修改考试
     * @param exam
     * @return
     */
    int updExamInfo(Exam exam);

    /**
     * 删除考试
     * @param id
     * @return
     */
    int delExam(int id);

    /**
     * 修改失效的考试状态
     * @return
     */
    int updAllExamAudit(int id);

    /**
     * 发布考试
     * @param exam
     * @return
     * guohanyu
     */
    int addExam(Exam exam);


    /**
     * 查询所有考试申请
     * @return
     */
    List<Map<String ,Object>> getExamApplication();

    /**
     * 查询申请总条数

     * @return
     */
    int  getExamApplicationCount ();

    /**
     * 通过考试申请
     * @param id
     * @return
     */
    int updExamApplication(int id);

    /**
     * 拒绝某个考试申请
     * @param id
     * @return
     */
    int delApplication(int id);

    /**
     * 从视图分页获取用户考试活跃
     * @param cond 封装分页数据,考试名称
     * @return
     * 郭瀚钰
     */
    List getUserExamInfo(Map cond);

    /**
     * 从视图分页获取用户考试活跃总记录数
     * @param cond 封装分页数据,考试名称
     * @return
     * 郭瀚钰
     */
    int getUserExamInfoCount(Map cond);
}